#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
#include<set>
using namespace std;
const int N=100005;
int a[N],b[N],c[N],n;
multiset<int>s;
int main(){
	scanf("%d",&n);
	for(int i=0;i<n;i++)scanf("%d",&a[i]),a[i]--,c[a[i]]=i;
	for(int i=0;i<n;i++)scanf("%d",&b[i]),b[i]--,s.insert(i-c[b[i]]);
	
	for(int i=0;i<n;i++){
		multiset<int>::iterator it=s.lower_bound(i);
		int ans=n;
		if(it!=s.end())ans=min(ans,*it-i);
		if(it!=s.begin())ans=min(ans,i-(*(--it)));
		
		printf("%d\n",ans);
		s.erase(s.find(i-c[b[i]]));
		s.insert(i+n-c[b[i]]);
		}while(1);
	return 0;
	}
/*
4
2 1 3 4
3 4 2 1
*/
